.section ".text.boot"

.global _start
_start:
    /* Mask all interrupts */
    csrw sie, zero

    /* set the stack of SP, size 4KB */
    la sp, stacks_start
    li t0, 4096
    add sp, sp, t0
    /* 调用串口初始化函数 */
    jal ra, uart_init
    tail kernel_main

.section .bss.stack
.align 5
.global stacks_start
stacks_start:
    .skip 4096

.section .heap
.align 8
.global sheap
.type sheap, %object
sheap:
    .skip 4 * (1 << 20), 0